{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Importing PulP solver\n",
    "from pulp import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Inputing the Demand points\n",
    "demand_points=['Mina Salman','Port of Haifa']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Mina Salman', 'Port of Haifa']"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "demand_points"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Inputing the Supply Points\n",
    "supply_points=['Port of Buenos Aires','Port of Newcastle','Port of Hedland','Port of Vienna','Port of Antwerp','Port of Santos','Port of Montreal','Port of Vancouver','Port of Shanghai','Port of Hamburg_Czeck','Port of Alexandria','Port of Marseille','Port of Hamburg_Germany','Port of Budapest','Port of Jawaharlal Nehru','Port of Tanjung Priok','Port of Bandar Abbas','Port of Haifa','Port of Gioia Tauro','Port of Nagoya','Port of Aqaba','Port of Busan','Port of Manzanillo','Port of Casablanca','Port of Rotterdam','Port of Salalah','Port of Karachi','Port of Gdansk','Port of Doha','Port of Vladivostok','Port of Novorossiysk','Port of St. Petersburg','Port of King Abdul Aziz','Port of Jeddah','Port of Bratislava','Port of Durban','Port of Algeciras','Port of Gothenburg','Port of Latakia','Port of Kaohsiung','Port of Bangkok','Port of Mersin','Port of Odessa','Port of Jebel Ali','Port of Immingham','Port of New York','Port of Los Angeles','Port of Saigon']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Port of Buenos Aires',\n",
       " 'Port of Newcastle',\n",
       " 'Port of Hedland',\n",
       " 'Port of Vienna',\n",
       " 'Port of Antwerp',\n",
       " 'Port of Santos',\n",
       " 'Port of Montreal',\n",
       " 'Port of Vancouver',\n",
       " 'Port of Shanghai',\n",
       " 'Port of Hamburg_Czeck',\n",
       " 'Port of Alexandria',\n",
       " 'Port of Marseille',\n",
       " 'Port of Hamburg_Germany',\n",
       " 'Port of Budapest',\n",
       " 'Port of Jawaharlal Nehru',\n",
       " 'Port of Tanjung Priok',\n",
       " 'Port of Bandar Abbas',\n",
       " 'Port of Haifa',\n",
       " 'Port of Gioia Tauro',\n",
       " 'Port of Nagoya',\n",
       " 'Port of Aqaba',\n",
       " 'Port of Busan',\n",
       " 'Port of Manzanillo',\n",
       " 'Port of Casablanca',\n",
       " 'Port of Rotterdam',\n",
       " 'Port of Salalah',\n",
       " 'Port of Karachi',\n",
       " 'Port of Gdansk',\n",
       " 'Port of Doha',\n",
       " 'Port of Vladivostok',\n",
       " 'Port of Novorossiysk',\n",
       " 'Port of St. Petersburg',\n",
       " 'Port of King Abdul Aziz',\n",
       " 'Port of Jeddah',\n",
       " 'Port of Bratislava',\n",
       " 'Port of Durban',\n",
       " 'Port of Algeciras',\n",
       " 'Port of Gothenburg',\n",
       " 'Port of Latakia',\n",
       " 'Port of Kaohsiung',\n",
       " 'Port of Bangkok',\n",
       " 'Port of Mersin',\n",
       " 'Port of Odessa',\n",
       " 'Port of Jebel Ali',\n",
       " 'Port of Immingham',\n",
       " 'Port of New York',\n",
       " 'Port of Los Angeles',\n",
       " 'Port of Saigon']"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "supply_points"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Inputing the distances\n",
    "distance = dict(zip(supply_points,[dict(zip(demand_points, [9420,8747])),\n",
    "dict(zip(demand_points, [8544,9885])),\n",
    "dict(zip(demand_points, [6034,7374])),\n",
    "dict(zip(demand_points, [5729,2306])),\n",
    "dict(zip(demand_points, [7193,3804])),\n",
    "dict(zip(demand_points, [9662,7667])),\n",
    "dict(zip(demand_points, [9594,6336])),\n",
    "dict(zip(demand_points, [15871,12461])),\n",
    "dict(zip(demand_points, [6882,8336])),\n",
    "dict(zip(demand_points, [7561,4173])),\n",
    "dict(zip(demand_points, [3650,370])),\n",
    "dict(zip(demand_points, [5332,1946])),\n",
    "dict(zip(demand_points, [7561,4173])),\n",
    "dict(zip(demand_points, [5615,2192])),\n",
    "dict(zip(demand_points, [1589,3510])),\n",
    "dict(zip(demand_points, [4660,6000])),\n",
    "dict(zip(demand_points, [380,3310])),\n",
    "dict(zip(demand_points, [3621,0])),\n",
    "dict(zip(demand_points, [4620,1230])),\n",
    "dict(zip(demand_points, [7759,9214])),\n",
    "dict(zip(demand_points, [3197,568])),\n",
    "dict(zip(demand_points, [7398,8852])),\n",
    "dict(zip(demand_points, [13061,9673])),\n",
    "dict(zip(demand_points, [5852,2463])),\n",
    "dict(zip(demand_points, [7284,3894])),\n",
    "dict(zip(demand_points, [1253,2367])),\n",
    "dict(zip(demand_points, [1000,3394])),\n",
    "dict(zip(demand_points, [8277,4889])),\n",
    "dict(zip(demand_points, [140,3553])),\n",
    "dict(zip(demand_points, [7981,9435])),\n",
    "dict(zip(demand_points, [5139,1715])),\n",
    "dict(zip(demand_points, [8787,5398])),\n",
    "dict(zip(demand_points, [108,3674])),\n",
    "dict(zip(demand_points, [2626,995])),\n",
    "dict(zip(demand_points, [5717,2293])),\n",
    "dict(zip(demand_points, [4824,5318])),\n",
    "dict(zip(demand_points, [5631,2242])),\n",
    "dict(zip(demand_points, [7825,4436])),\n",
    "dict(zip(demand_points, [3835,237])),\n",
    "dict(zip(demand_points, [6316,7770])),\n",
    "dict(zip(demand_points, [5102,6556])),\n",
    "dict(zip(demand_points, [3831,233])),\n",
    "dict(zip(demand_points, [4957,1533])),\n",
    "dict(zip(demand_points, [327,3366])),\n",
    "dict(zip(demand_points, [7334,3944])),\n",
    "dict(zip(demand_points, [9168,5756])),\n",
    "dict(zip(demand_points, [14552,11048])),\n",
    "dict(zip(demand_points, [4964,6418]))]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Port of Buenos Aires': {'Mina Salman': 9420, 'Port of Haifa': 8747},\n",
       " 'Port of Newcastle': {'Mina Salman': 8544, 'Port of Haifa': 9885},\n",
       " 'Port of Hedland': {'Mina Salman': 6034, 'Port of Haifa': 7374},\n",
       " 'Port of Vienna': {'Mina Salman': 5729, 'Port of Haifa': 2306},\n",
       " 'Port of Antwerp': {'Mina Salman': 7193, 'Port of Haifa': 3804},\n",
       " 'Port of Santos': {'Mina Salman': 9662, 'Port of Haifa': 7667},\n",
       " 'Port of Montreal': {'Mina Salman': 9594, 'Port of Haifa': 6336},\n",
       " 'Port of Vancouver': {'Mina Salman': 15871, 'Port of Haifa': 12461},\n",
       " 'Port of Shanghai': {'Mina Salman': 6882, 'Port of Haifa': 8336},\n",
       " 'Port of Hamburg_Czeck': {'Mina Salman': 7561, 'Port of Haifa': 4173},\n",
       " 'Port of Alexandria': {'Mina Salman': 3650, 'Port of Haifa': 370},\n",
       " 'Port of Marseille': {'Mina Salman': 5332, 'Port of Haifa': 1946},\n",
       " 'Port of Hamburg_Germany': {'Mina Salman': 7561, 'Port of Haifa': 4173},\n",
       " 'Port of Budapest': {'Mina Salman': 5615, 'Port of Haifa': 2192},\n",
       " 'Port of Jawaharlal Nehru': {'Mina Salman': 1589, 'Port of Haifa': 3510},\n",
       " 'Port of Tanjung Priok': {'Mina Salman': 4660, 'Port of Haifa': 6000},\n",
       " 'Port of Bandar Abbas': {'Mina Salman': 380, 'Port of Haifa': 3310},\n",
       " 'Port of Haifa': {'Mina Salman': 3621, 'Port of Haifa': 0},\n",
       " 'Port of Gioia Tauro': {'Mina Salman': 4620, 'Port of Haifa': 1230},\n",
       " 'Port of Nagoya': {'Mina Salman': 7759, 'Port of Haifa': 9214},\n",
       " 'Port of Aqaba': {'Mina Salman': 3197, 'Port of Haifa': 568},\n",
       " 'Port of Busan': {'Mina Salman': 7398, 'Port of Haifa': 8852},\n",
       " 'Port of Manzanillo': {'Mina Salman': 13061, 'Port of Haifa': 9673},\n",
       " 'Port of Casablanca': {'Mina Salman': 5852, 'Port of Haifa': 2463},\n",
       " 'Port of Rotterdam': {'Mina Salman': 7284, 'Port of Haifa': 3894},\n",
       " 'Port of Salalah': {'Mina Salman': 1253, 'Port of Haifa': 2367},\n",
       " 'Port of Karachi': {'Mina Salman': 1000, 'Port of Haifa': 3394},\n",
       " 'Port of Gdansk': {'Mina Salman': 8277, 'Port of Haifa': 4889},\n",
       " 'Port of Doha': {'Mina Salman': 140, 'Port of Haifa': 3553},\n",
       " 'Port of Vladivostok': {'Mina Salman': 7981, 'Port of Haifa': 9435},\n",
       " 'Port of Novorossiysk': {'Mina Salman': 5139, 'Port of Haifa': 1715},\n",
       " 'Port of St. Petersburg': {'Mina Salman': 8787, 'Port of Haifa': 5398},\n",
       " 'Port of King Abdul Aziz': {'Mina Salman': 108, 'Port of Haifa': 3674},\n",
       " 'Port of Jeddah': {'Mina Salman': 2626, 'Port of Haifa': 995},\n",
       " 'Port of Bratislava': {'Mina Salman': 5717, 'Port of Haifa': 2293},\n",
       " 'Port of Durban': {'Mina Salman': 4824, 'Port of Haifa': 5318},\n",
       " 'Port of Algeciras': {'Mina Salman': 5631, 'Port of Haifa': 2242},\n",
       " 'Port of Gothenburg': {'Mina Salman': 7825, 'Port of Haifa': 4436},\n",
       " 'Port of Latakia': {'Mina Salman': 3835, 'Port of Haifa': 237},\n",
       " 'Port of Kaohsiung': {'Mina Salman': 6316, 'Port of Haifa': 7770},\n",
       " 'Port of Bangkok': {'Mina Salman': 5102, 'Port of Haifa': 6556},\n",
       " 'Port of Mersin': {'Mina Salman': 3831, 'Port of Haifa': 233},\n",
       " 'Port of Odessa': {'Mina Salman': 4957, 'Port of Haifa': 1533},\n",
       " 'Port of Jebel Ali': {'Mina Salman': 327, 'Port of Haifa': 3366},\n",
       " 'Port of Immingham': {'Mina Salman': 7334, 'Port of Haifa': 3944},\n",
       " 'Port of New York': {'Mina Salman': 9168, 'Port of Haifa': 5756},\n",
       " 'Port of Los Angeles': {'Mina Salman': 14552, 'Port of Haifa': 11048},\n",
       " 'Port of Saigon': {'Mina Salman': 4964, 'Port of Haifa': 6418}}"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "distance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Inputing the HSS Demand\n",
    "HSS_demand=dict(zip(demand_points, [192529672.9,167434730.9]))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Mina Salman': 192529672.9, 'Port of Haifa': 167434730.9}"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "HSS_demand"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Inputing the HSS Supply\n",
    "HSS_supply=dict(zip(supply_points, [866877.0693,173144.9288,821572.1032,1773459.805,459052.6648,5883513.708,524041.6326,1760443.821,174549236.3,679520.2497,2083553.909,1090975.226,7439233.572,33423.521,36697735.91,1158608.705,12288124.19,55964.6881,4143159.023,16087392.42,26211.20016,12220325.9,3391773.351,94405.71585,1188401.541,345449.5083,581771.9193,1617356.557,857772.4871,7688763.821,3750207.916,3793349.172,587030.7966,330012.7357,828258.7044,1062704.488,2506427.832,1020455.739,6807.982054,3982299.048,742013.6356,5765276.992,81761.53917,715075.2826,1240430.535,9068509.538,6320971.137,21581546.32])) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Port of Buenos Aires': 866877.0693,\n",
       " 'Port of Newcastle': 173144.9288,\n",
       " 'Port of Hedland': 821572.1032,\n",
       " 'Port of Vienna': 1773459.805,\n",
       " 'Port of Antwerp': 459052.6648,\n",
       " 'Port of Santos': 5883513.708,\n",
       " 'Port of Montreal': 524041.6326,\n",
       " 'Port of Vancouver': 1760443.821,\n",
       " 'Port of Shanghai': 174549236.3,\n",
       " 'Port of Hamburg_Czeck': 679520.2497,\n",
       " 'Port of Alexandria': 2083553.909,\n",
       " 'Port of Marseille': 1090975.226,\n",
       " 'Port of Hamburg_Germany': 7439233.572,\n",
       " 'Port of Budapest': 33423.521,\n",
       " 'Port of Jawaharlal Nehru': 36697735.91,\n",
       " 'Port of Tanjung Priok': 1158608.705,\n",
       " 'Port of Bandar Abbas': 12288124.19,\n",
       " 'Port of Haifa': 55964.6881,\n",
       " 'Port of Gioia Tauro': 4143159.023,\n",
       " 'Port of Nagoya': 16087392.42,\n",
       " 'Port of Aqaba': 26211.20016,\n",
       " 'Port of Busan': 12220325.9,\n",
       " 'Port of Manzanillo': 3391773.351,\n",
       " 'Port of Casablanca': 94405.71585,\n",
       " 'Port of Rotterdam': 1188401.541,\n",
       " 'Port of Salalah': 345449.5083,\n",
       " 'Port of Karachi': 581771.9193,\n",
       " 'Port of Gdansk': 1617356.557,\n",
       " 'Port of Doha': 857772.4871,\n",
       " 'Port of Vladivostok': 7688763.821,\n",
       " 'Port of Novorossiysk': 3750207.916,\n",
       " 'Port of St. Petersburg': 3793349.172,\n",
       " 'Port of King Abdul Aziz': 587030.7966,\n",
       " 'Port of Jeddah': 330012.7357,\n",
       " 'Port of Bratislava': 828258.7044,\n",
       " 'Port of Durban': 1062704.488,\n",
       " 'Port of Algeciras': 2506427.832,\n",
       " 'Port of Gothenburg': 1020455.739,\n",
       " 'Port of Latakia': 6807.982054,\n",
       " 'Port of Kaohsiung': 3982299.048,\n",
       " 'Port of Bangkok': 742013.6356,\n",
       " 'Port of Mersin': 5765276.992,\n",
       " 'Port of Odessa': 81761.53917,\n",
       " 'Port of Jebel Ali': 715075.2826,\n",
       " 'Port of Immingham': 1240430.535,\n",
       " 'Port of New York': 9068509.538,\n",
       " 'Port of Los Angeles': 6320971.137,\n",
       " 'Port of Saigon': 21581546.32}"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "HSS_supply"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Set Problem Variables\n",
    "prob = LpProblem(\"Transportation\", LpMinimize)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Transportation:\n",
       "MINIMIZE\n",
       "None\n",
       "VARIABLES"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "prob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Set Problem Variables\n",
    "routes = [(i,j) for i in supply_points for j in demand_points]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('Port of Buenos Aires', 'Mina Salman'),\n",
       " ('Port of Buenos Aires', 'Port of Haifa'),\n",
       " ('Port of Newcastle', 'Mina Salman'),\n",
       " ('Port of Newcastle', 'Port of Haifa'),\n",
       " ('Port of Hedland', 'Mina Salman'),\n",
       " ('Port of Hedland', 'Port of Haifa'),\n",
       " ('Port of Vienna', 'Mina Salman'),\n",
       " ('Port of Vienna', 'Port of Haifa'),\n",
       " ('Port of Antwerp', 'Mina Salman'),\n",
       " ('Port of Antwerp', 'Port of Haifa'),\n",
       " ('Port of Santos', 'Mina Salman'),\n",
       " ('Port of Santos', 'Port of Haifa'),\n",
       " ('Port of Montreal', 'Mina Salman'),\n",
       " ('Port of Montreal', 'Port of Haifa'),\n",
       " ('Port of Vancouver', 'Mina Salman'),\n",
       " ('Port of Vancouver', 'Port of Haifa'),\n",
       " ('Port of Shanghai', 'Mina Salman'),\n",
       " ('Port of Shanghai', 'Port of Haifa'),\n",
       " ('Port of Hamburg_Czeck', 'Mina Salman'),\n",
       " ('Port of Hamburg_Czeck', 'Port of Haifa'),\n",
       " ('Port of Alexandria', 'Mina Salman'),\n",
       " ('Port of Alexandria', 'Port of Haifa'),\n",
       " ('Port of Marseille', 'Mina Salman'),\n",
       " ('Port of Marseille', 'Port of Haifa'),\n",
       " ('Port of Hamburg_Germany', 'Mina Salman'),\n",
       " ('Port of Hamburg_Germany', 'Port of Haifa'),\n",
       " ('Port of Budapest', 'Mina Salman'),\n",
       " ('Port of Budapest', 'Port of Haifa'),\n",
       " ('Port of Jawaharlal Nehru', 'Mina Salman'),\n",
       " ('Port of Jawaharlal Nehru', 'Port of Haifa'),\n",
       " ('Port of Tanjung Priok', 'Mina Salman'),\n",
       " ('Port of Tanjung Priok', 'Port of Haifa'),\n",
       " ('Port of Bandar Abbas', 'Mina Salman'),\n",
       " ('Port of Bandar Abbas', 'Port of Haifa'),\n",
       " ('Port of Haifa', 'Mina Salman'),\n",
       " ('Port of Haifa', 'Port of Haifa'),\n",
       " ('Port of Gioia Tauro', 'Mina Salman'),\n",
       " ('Port of Gioia Tauro', 'Port of Haifa'),\n",
       " ('Port of Nagoya', 'Mina Salman'),\n",
       " ('Port of Nagoya', 'Port of Haifa'),\n",
       " ('Port of Aqaba', 'Mina Salman'),\n",
       " ('Port of Aqaba', 'Port of Haifa'),\n",
       " ('Port of Busan', 'Mina Salman'),\n",
       " ('Port of Busan', 'Port of Haifa'),\n",
       " ('Port of Manzanillo', 'Mina Salman'),\n",
       " ('Port of Manzanillo', 'Port of Haifa'),\n",
       " ('Port of Casablanca', 'Mina Salman'),\n",
       " ('Port of Casablanca', 'Port of Haifa'),\n",
       " ('Port of Rotterdam', 'Mina Salman'),\n",
       " ('Port of Rotterdam', 'Port of Haifa'),\n",
       " ('Port of Salalah', 'Mina Salman'),\n",
       " ('Port of Salalah', 'Port of Haifa'),\n",
       " ('Port of Karachi', 'Mina Salman'),\n",
       " ('Port of Karachi', 'Port of Haifa'),\n",
       " ('Port of Gdansk', 'Mina Salman'),\n",
       " ('Port of Gdansk', 'Port of Haifa'),\n",
       " ('Port of Doha', 'Mina Salman'),\n",
       " ('Port of Doha', 'Port of Haifa'),\n",
       " ('Port of Vladivostok', 'Mina Salman'),\n",
       " ('Port of Vladivostok', 'Port of Haifa'),\n",
       " ('Port of Novorossiysk', 'Mina Salman'),\n",
       " ('Port of Novorossiysk', 'Port of Haifa'),\n",
       " ('Port of St. Petersburg', 'Mina Salman'),\n",
       " ('Port of St. Petersburg', 'Port of Haifa'),\n",
       " ('Port of King Abdul Aziz', 'Mina Salman'),\n",
       " ('Port of King Abdul Aziz', 'Port of Haifa'),\n",
       " ('Port of Jeddah', 'Mina Salman'),\n",
       " ('Port of Jeddah', 'Port of Haifa'),\n",
       " ('Port of Bratislava', 'Mina Salman'),\n",
       " ('Port of Bratislava', 'Port of Haifa'),\n",
       " ('Port of Durban', 'Mina Salman'),\n",
       " ('Port of Durban', 'Port of Haifa'),\n",
       " ('Port of Algeciras', 'Mina Salman'),\n",
       " ('Port of Algeciras', 'Port of Haifa'),\n",
       " ('Port of Gothenburg', 'Mina Salman'),\n",
       " ('Port of Gothenburg', 'Port of Haifa'),\n",
       " ('Port of Latakia', 'Mina Salman'),\n",
       " ('Port of Latakia', 'Port of Haifa'),\n",
       " ('Port of Kaohsiung', 'Mina Salman'),\n",
       " ('Port of Kaohsiung', 'Port of Haifa'),\n",
       " ('Port of Bangkok', 'Mina Salman'),\n",
       " ('Port of Bangkok', 'Port of Haifa'),\n",
       " ('Port of Mersin', 'Mina Salman'),\n",
       " ('Port of Mersin', 'Port of Haifa'),\n",
       " ('Port of Odessa', 'Mina Salman'),\n",
       " ('Port of Odessa', 'Port of Haifa'),\n",
       " ('Port of Jebel Ali', 'Mina Salman'),\n",
       " ('Port of Jebel Ali', 'Port of Haifa'),\n",
       " ('Port of Immingham', 'Mina Salman'),\n",
       " ('Port of Immingham', 'Port of Haifa'),\n",
       " ('Port of New York', 'Mina Salman'),\n",
       " ('Port of New York', 'Port of Haifa'),\n",
       " ('Port of Los Angeles', 'Mina Salman'),\n",
       " ('Port of Los Angeles', 'Port of Haifa'),\n",
       " ('Port of Saigon', 'Mina Salman'),\n",
       " ('Port of Saigon', 'Port of Haifa')]"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "routes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Decision Variables\n",
    "X = LpVariable.dicts(\"ShipmentAmount\",(supply_points, demand_points),0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Port of Buenos Aires': {'Mina Salman': ShipmentAmount_Port_of_Buenos_Aires_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Buenos_Aires_Port_of_Haifa},\n",
       " 'Port of Newcastle': {'Mina Salman': ShipmentAmount_Port_of_Newcastle_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Newcastle_Port_of_Haifa},\n",
       " 'Port of Hedland': {'Mina Salman': ShipmentAmount_Port_of_Hedland_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Hedland_Port_of_Haifa},\n",
       " 'Port of Vienna': {'Mina Salman': ShipmentAmount_Port_of_Vienna_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Vienna_Port_of_Haifa},\n",
       " 'Port of Antwerp': {'Mina Salman': ShipmentAmount_Port_of_Antwerp_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Antwerp_Port_of_Haifa},\n",
       " 'Port of Santos': {'Mina Salman': ShipmentAmount_Port_of_Santos_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Santos_Port_of_Haifa},\n",
       " 'Port of Montreal': {'Mina Salman': ShipmentAmount_Port_of_Montreal_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Montreal_Port_of_Haifa},\n",
       " 'Port of Vancouver': {'Mina Salman': ShipmentAmount_Port_of_Vancouver_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Vancouver_Port_of_Haifa},\n",
       " 'Port of Shanghai': {'Mina Salman': ShipmentAmount_Port_of_Shanghai_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Shanghai_Port_of_Haifa},\n",
       " 'Port of Hamburg_Czeck': {'Mina Salman': ShipmentAmount_Port_of_Hamburg_Czeck_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa},\n",
       " 'Port of Alexandria': {'Mina Salman': ShipmentAmount_Port_of_Alexandria_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Alexandria_Port_of_Haifa},\n",
       " 'Port of Marseille': {'Mina Salman': ShipmentAmount_Port_of_Marseille_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Marseille_Port_of_Haifa},\n",
       " 'Port of Hamburg_Germany': {'Mina Salman': ShipmentAmount_Port_of_Hamburg_Germany_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa},\n",
       " 'Port of Budapest': {'Mina Salman': ShipmentAmount_Port_of_Budapest_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Budapest_Port_of_Haifa},\n",
       " 'Port of Jawaharlal Nehru': {'Mina Salman': ShipmentAmount_Port_of_Jawaharlal_Nehru_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Haifa},\n",
       " 'Port of Tanjung Priok': {'Mina Salman': ShipmentAmount_Port_of_Tanjung_Priok_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Haifa},\n",
       " 'Port of Bandar Abbas': {'Mina Salman': ShipmentAmount_Port_of_Bandar_Abbas_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Haifa},\n",
       " 'Port of Haifa': {'Mina Salman': ShipmentAmount_Port_of_Haifa_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Haifa_Port_of_Haifa},\n",
       " 'Port of Gioia Tauro': {'Mina Salman': ShipmentAmount_Port_of_Gioia_Tauro_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa},\n",
       " 'Port of Nagoya': {'Mina Salman': ShipmentAmount_Port_of_Nagoya_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Nagoya_Port_of_Haifa},\n",
       " 'Port of Aqaba': {'Mina Salman': ShipmentAmount_Port_of_Aqaba_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Aqaba_Port_of_Haifa},\n",
       " 'Port of Busan': {'Mina Salman': ShipmentAmount_Port_of_Busan_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Busan_Port_of_Haifa},\n",
       " 'Port of Manzanillo': {'Mina Salman': ShipmentAmount_Port_of_Manzanillo_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa},\n",
       " 'Port of Casablanca': {'Mina Salman': ShipmentAmount_Port_of_Casablanca_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Casablanca_Port_of_Haifa},\n",
       " 'Port of Rotterdam': {'Mina Salman': ShipmentAmount_Port_of_Rotterdam_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa},\n",
       " 'Port of Salalah': {'Mina Salman': ShipmentAmount_Port_of_Salalah_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Salalah_Port_of_Haifa},\n",
       " 'Port of Karachi': {'Mina Salman': ShipmentAmount_Port_of_Karachi_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Karachi_Port_of_Haifa},\n",
       " 'Port of Gdansk': {'Mina Salman': ShipmentAmount_Port_of_Gdansk_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Gdansk_Port_of_Haifa},\n",
       " 'Port of Doha': {'Mina Salman': ShipmentAmount_Port_of_Doha_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Doha_Port_of_Haifa},\n",
       " 'Port of Vladivostok': {'Mina Salman': ShipmentAmount_Port_of_Vladivostok_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Vladivostok_Port_of_Haifa},\n",
       " 'Port of Novorossiysk': {'Mina Salman': ShipmentAmount_Port_of_Novorossiysk_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa},\n",
       " 'Port of St. Petersburg': {'Mina Salman': ShipmentAmount_Port_of_St._Petersburg_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa},\n",
       " 'Port of King Abdul Aziz': {'Mina Salman': ShipmentAmount_Port_of_King_Abdul_Aziz_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Haifa},\n",
       " 'Port of Jeddah': {'Mina Salman': ShipmentAmount_Port_of_Jeddah_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Jeddah_Port_of_Haifa},\n",
       " 'Port of Bratislava': {'Mina Salman': ShipmentAmount_Port_of_Bratislava_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Bratislava_Port_of_Haifa},\n",
       " 'Port of Durban': {'Mina Salman': ShipmentAmount_Port_of_Durban_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Durban_Port_of_Haifa},\n",
       " 'Port of Algeciras': {'Mina Salman': ShipmentAmount_Port_of_Algeciras_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Algeciras_Port_of_Haifa},\n",
       " 'Port of Gothenburg': {'Mina Salman': ShipmentAmount_Port_of_Gothenburg_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Gothenburg_Port_of_Haifa},\n",
       " 'Port of Latakia': {'Mina Salman': ShipmentAmount_Port_of_Latakia_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Latakia_Port_of_Haifa},\n",
       " 'Port of Kaohsiung': {'Mina Salman': ShipmentAmount_Port_of_Kaohsiung_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Kaohsiung_Port_of_Haifa},\n",
       " 'Port of Bangkok': {'Mina Salman': ShipmentAmount_Port_of_Bangkok_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Bangkok_Port_of_Haifa},\n",
       " 'Port of Mersin': {'Mina Salman': ShipmentAmount_Port_of_Mersin_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Mersin_Port_of_Haifa},\n",
       " 'Port of Odessa': {'Mina Salman': ShipmentAmount_Port_of_Odessa_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Odessa_Port_of_Haifa},\n",
       " 'Port of Jebel Ali': {'Mina Salman': ShipmentAmount_Port_of_Jebel_Ali_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Jebel_Ali_Port_of_Haifa},\n",
       " 'Port of Immingham': {'Mina Salman': ShipmentAmount_Port_of_Immingham_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Immingham_Port_of_Haifa},\n",
       " 'Port of New York': {'Mina Salman': ShipmentAmount_Port_of_New_York_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_New_York_Port_of_Haifa},\n",
       " 'Port of Los Angeles': {'Mina Salman': ShipmentAmount_Port_of_Los_Angeles_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa},\n",
       " 'Port of Saigon': {'Mina Salman': ShipmentAmount_Port_of_Saigon_Mina_Salman,\n",
       "  'Port of Haifa': ShipmentAmount_Port_of_Saigon_Port_of_Haifa}}"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Objective Function\n",
    "prob += sum(X[i][j]*distance[i][j] for (i,j) in routes)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Transportation:\n",
       "MINIMIZE\n",
       "3650*ShipmentAmount_Port_of_Alexandria_Mina_Salman + 370*ShipmentAmount_Port_of_Alexandria_Port_of_Haifa + 5631*ShipmentAmount_Port_of_Algeciras_Mina_Salman + 2242*ShipmentAmount_Port_of_Algeciras_Port_of_Haifa + 7193*ShipmentAmount_Port_of_Antwerp_Mina_Salman + 3804*ShipmentAmount_Port_of_Antwerp_Port_of_Haifa + 3197*ShipmentAmount_Port_of_Aqaba_Mina_Salman + 568*ShipmentAmount_Port_of_Aqaba_Port_of_Haifa + 380*ShipmentAmount_Port_of_Bandar_Abbas_Mina_Salman + 3310*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Haifa + 5102*ShipmentAmount_Port_of_Bangkok_Mina_Salman + 6556*ShipmentAmount_Port_of_Bangkok_Port_of_Haifa + 5717*ShipmentAmount_Port_of_Bratislava_Mina_Salman + 2293*ShipmentAmount_Port_of_Bratislava_Port_of_Haifa + 5615*ShipmentAmount_Port_of_Budapest_Mina_Salman + 2192*ShipmentAmount_Port_of_Budapest_Port_of_Haifa + 9420*ShipmentAmount_Port_of_Buenos_Aires_Mina_Salman + 8747*ShipmentAmount_Port_of_Buenos_Aires_Port_of_Haifa + 7398*ShipmentAmount_Port_of_Busan_Mina_Salman + 8852*ShipmentAmount_Port_of_Busan_Port_of_Haifa + 5852*ShipmentAmount_Port_of_Casablanca_Mina_Salman + 2463*ShipmentAmount_Port_of_Casablanca_Port_of_Haifa + 140*ShipmentAmount_Port_of_Doha_Mina_Salman + 3553*ShipmentAmount_Port_of_Doha_Port_of_Haifa + 4824*ShipmentAmount_Port_of_Durban_Mina_Salman + 5318*ShipmentAmount_Port_of_Durban_Port_of_Haifa + 8277*ShipmentAmount_Port_of_Gdansk_Mina_Salman + 4889*ShipmentAmount_Port_of_Gdansk_Port_of_Haifa + 4620*ShipmentAmount_Port_of_Gioia_Tauro_Mina_Salman + 1230*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa + 7825*ShipmentAmount_Port_of_Gothenburg_Mina_Salman + 4436*ShipmentAmount_Port_of_Gothenburg_Port_of_Haifa + 3621*ShipmentAmount_Port_of_Haifa_Mina_Salman + 7561*ShipmentAmount_Port_of_Hamburg_Czeck_Mina_Salman + 4173*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa + 7561*ShipmentAmount_Port_of_Hamburg_Germany_Mina_Salman + 4173*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa + 6034*ShipmentAmount_Port_of_Hedland_Mina_Salman + 7374*ShipmentAmount_Port_of_Hedland_Port_of_Haifa + 7334*ShipmentAmount_Port_of_Immingham_Mina_Salman + 3944*ShipmentAmount_Port_of_Immingham_Port_of_Haifa + 1589*ShipmentAmount_Port_of_Jawaharlal_Nehru_Mina_Salman + 3510*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Haifa + 327*ShipmentAmount_Port_of_Jebel_Ali_Mina_Salman + 3366*ShipmentAmount_Port_of_Jebel_Ali_Port_of_Haifa + 2626*ShipmentAmount_Port_of_Jeddah_Mina_Salman + 995*ShipmentAmount_Port_of_Jeddah_Port_of_Haifa + 6316*ShipmentAmount_Port_of_Kaohsiung_Mina_Salman + 7770*ShipmentAmount_Port_of_Kaohsiung_Port_of_Haifa + 1000*ShipmentAmount_Port_of_Karachi_Mina_Salman + 3394*ShipmentAmount_Port_of_Karachi_Port_of_Haifa + 108*ShipmentAmount_Port_of_King_Abdul_Aziz_Mina_Salman + 3674*ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Haifa + 3835*ShipmentAmount_Port_of_Latakia_Mina_Salman + 237*ShipmentAmount_Port_of_Latakia_Port_of_Haifa + 14552*ShipmentAmount_Port_of_Los_Angeles_Mina_Salman + 11048*ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa + 13061*ShipmentAmount_Port_of_Manzanillo_Mina_Salman + 9673*ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa + 5332*ShipmentAmount_Port_of_Marseille_Mina_Salman + 1946*ShipmentAmount_Port_of_Marseille_Port_of_Haifa + 3831*ShipmentAmount_Port_of_Mersin_Mina_Salman + 233*ShipmentAmount_Port_of_Mersin_Port_of_Haifa + 9594*ShipmentAmount_Port_of_Montreal_Mina_Salman + 6336*ShipmentAmount_Port_of_Montreal_Port_of_Haifa + 7759*ShipmentAmount_Port_of_Nagoya_Mina_Salman + 9214*ShipmentAmount_Port_of_Nagoya_Port_of_Haifa + 9168*ShipmentAmount_Port_of_New_York_Mina_Salman + 5756*ShipmentAmount_Port_of_New_York_Port_of_Haifa + 8544*ShipmentAmount_Port_of_Newcastle_Mina_Salman + 9885*ShipmentAmount_Port_of_Newcastle_Port_of_Haifa + 5139*ShipmentAmount_Port_of_Novorossiysk_Mina_Salman + 1715*ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa + 4957*ShipmentAmount_Port_of_Odessa_Mina_Salman + 1533*ShipmentAmount_Port_of_Odessa_Port_of_Haifa + 7284*ShipmentAmount_Port_of_Rotterdam_Mina_Salman + 3894*ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa + 4964*ShipmentAmount_Port_of_Saigon_Mina_Salman + 6418*ShipmentAmount_Port_of_Saigon_Port_of_Haifa + 1253*ShipmentAmount_Port_of_Salalah_Mina_Salman + 2367*ShipmentAmount_Port_of_Salalah_Port_of_Haifa + 9662*ShipmentAmount_Port_of_Santos_Mina_Salman + 7667*ShipmentAmount_Port_of_Santos_Port_of_Haifa + 6882*ShipmentAmount_Port_of_Shanghai_Mina_Salman + 8336*ShipmentAmount_Port_of_Shanghai_Port_of_Haifa + 8787*ShipmentAmount_Port_of_St._Petersburg_Mina_Salman + 5398*ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa + 4660*ShipmentAmount_Port_of_Tanjung_Priok_Mina_Salman + 6000*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Haifa + 15871*ShipmentAmount_Port_of_Vancouver_Mina_Salman + 12461*ShipmentAmount_Port_of_Vancouver_Port_of_Haifa + 5729*ShipmentAmount_Port_of_Vienna_Mina_Salman + 2306*ShipmentAmount_Port_of_Vienna_Port_of_Haifa + 7981*ShipmentAmount_Port_of_Vladivostok_Mina_Salman + 9435*ShipmentAmount_Port_of_Vladivostok_Port_of_Haifa + 0\n",
       "VARIABLES\n",
       "ShipmentAmount_Port_of_Alexandria_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Aqaba_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Aqaba_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Busan_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Casablanca_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Casablanca_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Doha_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Durban_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Haifa_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Jeddah_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Jeddah_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Kaohsiung_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Kaohsiung_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Karachi_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Karachi_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_King_Abdul_Aziz_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Latakia_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Latakia_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_New_York_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Santos_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Haifa Continuous"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "prob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Transportation:\n",
       "MINIMIZE\n",
       "3650*ShipmentAmount_Port_of_Alexandria_Mina_Salman + 370*ShipmentAmount_Port_of_Alexandria_Port_of_Haifa + 5631*ShipmentAmount_Port_of_Algeciras_Mina_Salman + 2242*ShipmentAmount_Port_of_Algeciras_Port_of_Haifa + 7193*ShipmentAmount_Port_of_Antwerp_Mina_Salman + 3804*ShipmentAmount_Port_of_Antwerp_Port_of_Haifa + 3197*ShipmentAmount_Port_of_Aqaba_Mina_Salman + 568*ShipmentAmount_Port_of_Aqaba_Port_of_Haifa + 380*ShipmentAmount_Port_of_Bandar_Abbas_Mina_Salman + 3310*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Haifa + 5102*ShipmentAmount_Port_of_Bangkok_Mina_Salman + 6556*ShipmentAmount_Port_of_Bangkok_Port_of_Haifa + 5717*ShipmentAmount_Port_of_Bratislava_Mina_Salman + 2293*ShipmentAmount_Port_of_Bratislava_Port_of_Haifa + 5615*ShipmentAmount_Port_of_Budapest_Mina_Salman + 2192*ShipmentAmount_Port_of_Budapest_Port_of_Haifa + 9420*ShipmentAmount_Port_of_Buenos_Aires_Mina_Salman + 8747*ShipmentAmount_Port_of_Buenos_Aires_Port_of_Haifa + 7398*ShipmentAmount_Port_of_Busan_Mina_Salman + 8852*ShipmentAmount_Port_of_Busan_Port_of_Haifa + 5852*ShipmentAmount_Port_of_Casablanca_Mina_Salman + 2463*ShipmentAmount_Port_of_Casablanca_Port_of_Haifa + 140*ShipmentAmount_Port_of_Doha_Mina_Salman + 3553*ShipmentAmount_Port_of_Doha_Port_of_Haifa + 4824*ShipmentAmount_Port_of_Durban_Mina_Salman + 5318*ShipmentAmount_Port_of_Durban_Port_of_Haifa + 8277*ShipmentAmount_Port_of_Gdansk_Mina_Salman + 4889*ShipmentAmount_Port_of_Gdansk_Port_of_Haifa + 4620*ShipmentAmount_Port_of_Gioia_Tauro_Mina_Salman + 1230*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa + 7825*ShipmentAmount_Port_of_Gothenburg_Mina_Salman + 4436*ShipmentAmount_Port_of_Gothenburg_Port_of_Haifa + 3621*ShipmentAmount_Port_of_Haifa_Mina_Salman + 7561*ShipmentAmount_Port_of_Hamburg_Czeck_Mina_Salman + 4173*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa + 7561*ShipmentAmount_Port_of_Hamburg_Germany_Mina_Salman + 4173*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa + 6034*ShipmentAmount_Port_of_Hedland_Mina_Salman + 7374*ShipmentAmount_Port_of_Hedland_Port_of_Haifa + 7334*ShipmentAmount_Port_of_Immingham_Mina_Salman + 3944*ShipmentAmount_Port_of_Immingham_Port_of_Haifa + 1589*ShipmentAmount_Port_of_Jawaharlal_Nehru_Mina_Salman + 3510*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Haifa + 327*ShipmentAmount_Port_of_Jebel_Ali_Mina_Salman + 3366*ShipmentAmount_Port_of_Jebel_Ali_Port_of_Haifa + 2626*ShipmentAmount_Port_of_Jeddah_Mina_Salman + 995*ShipmentAmount_Port_of_Jeddah_Port_of_Haifa + 6316*ShipmentAmount_Port_of_Kaohsiung_Mina_Salman + 7770*ShipmentAmount_Port_of_Kaohsiung_Port_of_Haifa + 1000*ShipmentAmount_Port_of_Karachi_Mina_Salman + 3394*ShipmentAmount_Port_of_Karachi_Port_of_Haifa + 108*ShipmentAmount_Port_of_King_Abdul_Aziz_Mina_Salman + 3674*ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Haifa + 3835*ShipmentAmount_Port_of_Latakia_Mina_Salman + 237*ShipmentAmount_Port_of_Latakia_Port_of_Haifa + 14552*ShipmentAmount_Port_of_Los_Angeles_Mina_Salman + 11048*ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa + 13061*ShipmentAmount_Port_of_Manzanillo_Mina_Salman + 9673*ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa + 5332*ShipmentAmount_Port_of_Marseille_Mina_Salman + 1946*ShipmentAmount_Port_of_Marseille_Port_of_Haifa + 3831*ShipmentAmount_Port_of_Mersin_Mina_Salman + 233*ShipmentAmount_Port_of_Mersin_Port_of_Haifa + 9594*ShipmentAmount_Port_of_Montreal_Mina_Salman + 6336*ShipmentAmount_Port_of_Montreal_Port_of_Haifa + 7759*ShipmentAmount_Port_of_Nagoya_Mina_Salman + 9214*ShipmentAmount_Port_of_Nagoya_Port_of_Haifa + 9168*ShipmentAmount_Port_of_New_York_Mina_Salman + 5756*ShipmentAmount_Port_of_New_York_Port_of_Haifa + 8544*ShipmentAmount_Port_of_Newcastle_Mina_Salman + 9885*ShipmentAmount_Port_of_Newcastle_Port_of_Haifa + 5139*ShipmentAmount_Port_of_Novorossiysk_Mina_Salman + 1715*ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa + 4957*ShipmentAmount_Port_of_Odessa_Mina_Salman + 1533*ShipmentAmount_Port_of_Odessa_Port_of_Haifa + 7284*ShipmentAmount_Port_of_Rotterdam_Mina_Salman + 3894*ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa + 4964*ShipmentAmount_Port_of_Saigon_Mina_Salman + 6418*ShipmentAmount_Port_of_Saigon_Port_of_Haifa + 1253*ShipmentAmount_Port_of_Salalah_Mina_Salman + 2367*ShipmentAmount_Port_of_Salalah_Port_of_Haifa + 9662*ShipmentAmount_Port_of_Santos_Mina_Salman + 7667*ShipmentAmount_Port_of_Santos_Port_of_Haifa + 6882*ShipmentAmount_Port_of_Shanghai_Mina_Salman + 8336*ShipmentAmount_Port_of_Shanghai_Port_of_Haifa + 8787*ShipmentAmount_Port_of_St._Petersburg_Mina_Salman + 5398*ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa + 4660*ShipmentAmount_Port_of_Tanjung_Priok_Mina_Salman + 6000*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Haifa + 15871*ShipmentAmount_Port_of_Vancouver_Mina_Salman + 12461*ShipmentAmount_Port_of_Vancouver_Port_of_Haifa + 5729*ShipmentAmount_Port_of_Vienna_Mina_Salman + 2306*ShipmentAmount_Port_of_Vienna_Port_of_Haifa + 7981*ShipmentAmount_Port_of_Vladivostok_Mina_Salman + 9435*ShipmentAmount_Port_of_Vladivostok_Port_of_Haifa + 0\n",
       "SUBJECT TO\n",
       "_C1: ShipmentAmount_Port_of_Alexandria_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Algeciras_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Antwerp_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Aqaba_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Bangkok_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Bratislava_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Budapest_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Busan_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Casablanca_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Doha_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Durban_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Gdansk_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Gothenburg_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Haifa_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Hedland_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Immingham_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Jeddah_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Kaohsiung_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Karachi_Mina_Salman\n",
       " + ShipmentAmount_Port_of_King_Abdul_Aziz_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Latakia_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Manzanillo_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Marseille_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Mersin_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Montreal_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Nagoya_Mina_Salman\n",
       " + ShipmentAmount_Port_of_New_York_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Newcastle_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Odessa_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Rotterdam_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Saigon_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Salalah_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Santos_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Shanghai_Mina_Salman\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Vancouver_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Vienna_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Vladivostok_Mina_Salman >= 192529672.9\n",
       "\n",
       "_C2: ShipmentAmount_Port_of_Alexandria_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Antwerp_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Aqaba_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Bangkok_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Bratislava_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Busan_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Casablanca_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Doha_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Durban_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Gothenburg_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Haifa_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Hedland_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Jeddah_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Kaohsiung_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Karachi_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Latakia_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Montreal_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Newcastle_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Odessa_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Saigon_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Salalah_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Santos_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Vancouver_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Vienna_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Haifa >= 167434730.9\n",
       "\n",
       "VARIABLES\n",
       "ShipmentAmount_Port_of_Alexandria_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Aqaba_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Aqaba_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Busan_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Casablanca_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Casablanca_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Doha_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Durban_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Haifa_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Haifa_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Jeddah_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Jeddah_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Kaohsiung_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Kaohsiung_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Karachi_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Karachi_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_King_Abdul_Aziz_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Latakia_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Latakia_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_New_York_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Santos_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Haifa Continuous"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Constraints\n",
    "for j in demand_points:\n",
    "    prob += sum(X[i][j] for i in supply_points) >= HSS_demand[j]\n",
    "    \n",
    "prob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Transportation:\n",
       "MINIMIZE\n",
       "3650*ShipmentAmount_Port_of_Alexandria_Mina_Salman + 370*ShipmentAmount_Port_of_Alexandria_Port_of_Haifa + 5631*ShipmentAmount_Port_of_Algeciras_Mina_Salman + 2242*ShipmentAmount_Port_of_Algeciras_Port_of_Haifa + 7193*ShipmentAmount_Port_of_Antwerp_Mina_Salman + 3804*ShipmentAmount_Port_of_Antwerp_Port_of_Haifa + 3197*ShipmentAmount_Port_of_Aqaba_Mina_Salman + 568*ShipmentAmount_Port_of_Aqaba_Port_of_Haifa + 380*ShipmentAmount_Port_of_Bandar_Abbas_Mina_Salman + 3310*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Haifa + 5102*ShipmentAmount_Port_of_Bangkok_Mina_Salman + 6556*ShipmentAmount_Port_of_Bangkok_Port_of_Haifa + 5717*ShipmentAmount_Port_of_Bratislava_Mina_Salman + 2293*ShipmentAmount_Port_of_Bratislava_Port_of_Haifa + 5615*ShipmentAmount_Port_of_Budapest_Mina_Salman + 2192*ShipmentAmount_Port_of_Budapest_Port_of_Haifa + 9420*ShipmentAmount_Port_of_Buenos_Aires_Mina_Salman + 8747*ShipmentAmount_Port_of_Buenos_Aires_Port_of_Haifa + 7398*ShipmentAmount_Port_of_Busan_Mina_Salman + 8852*ShipmentAmount_Port_of_Busan_Port_of_Haifa + 5852*ShipmentAmount_Port_of_Casablanca_Mina_Salman + 2463*ShipmentAmount_Port_of_Casablanca_Port_of_Haifa + 140*ShipmentAmount_Port_of_Doha_Mina_Salman + 3553*ShipmentAmount_Port_of_Doha_Port_of_Haifa + 4824*ShipmentAmount_Port_of_Durban_Mina_Salman + 5318*ShipmentAmount_Port_of_Durban_Port_of_Haifa + 8277*ShipmentAmount_Port_of_Gdansk_Mina_Salman + 4889*ShipmentAmount_Port_of_Gdansk_Port_of_Haifa + 4620*ShipmentAmount_Port_of_Gioia_Tauro_Mina_Salman + 1230*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa + 7825*ShipmentAmount_Port_of_Gothenburg_Mina_Salman + 4436*ShipmentAmount_Port_of_Gothenburg_Port_of_Haifa + 3621*ShipmentAmount_Port_of_Haifa_Mina_Salman + 7561*ShipmentAmount_Port_of_Hamburg_Czeck_Mina_Salman + 4173*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa + 7561*ShipmentAmount_Port_of_Hamburg_Germany_Mina_Salman + 4173*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa + 6034*ShipmentAmount_Port_of_Hedland_Mina_Salman + 7374*ShipmentAmount_Port_of_Hedland_Port_of_Haifa + 7334*ShipmentAmount_Port_of_Immingham_Mina_Salman + 3944*ShipmentAmount_Port_of_Immingham_Port_of_Haifa + 1589*ShipmentAmount_Port_of_Jawaharlal_Nehru_Mina_Salman + 3510*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Haifa + 327*ShipmentAmount_Port_of_Jebel_Ali_Mina_Salman + 3366*ShipmentAmount_Port_of_Jebel_Ali_Port_of_Haifa + 2626*ShipmentAmount_Port_of_Jeddah_Mina_Salman + 995*ShipmentAmount_Port_of_Jeddah_Port_of_Haifa + 6316*ShipmentAmount_Port_of_Kaohsiung_Mina_Salman + 7770*ShipmentAmount_Port_of_Kaohsiung_Port_of_Haifa + 1000*ShipmentAmount_Port_of_Karachi_Mina_Salman + 3394*ShipmentAmount_Port_of_Karachi_Port_of_Haifa + 108*ShipmentAmount_Port_of_King_Abdul_Aziz_Mina_Salman + 3674*ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Haifa + 3835*ShipmentAmount_Port_of_Latakia_Mina_Salman + 237*ShipmentAmount_Port_of_Latakia_Port_of_Haifa + 14552*ShipmentAmount_Port_of_Los_Angeles_Mina_Salman + 11048*ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa + 13061*ShipmentAmount_Port_of_Manzanillo_Mina_Salman + 9673*ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa + 5332*ShipmentAmount_Port_of_Marseille_Mina_Salman + 1946*ShipmentAmount_Port_of_Marseille_Port_of_Haifa + 3831*ShipmentAmount_Port_of_Mersin_Mina_Salman + 233*ShipmentAmount_Port_of_Mersin_Port_of_Haifa + 9594*ShipmentAmount_Port_of_Montreal_Mina_Salman + 6336*ShipmentAmount_Port_of_Montreal_Port_of_Haifa + 7759*ShipmentAmount_Port_of_Nagoya_Mina_Salman + 9214*ShipmentAmount_Port_of_Nagoya_Port_of_Haifa + 9168*ShipmentAmount_Port_of_New_York_Mina_Salman + 5756*ShipmentAmount_Port_of_New_York_Port_of_Haifa + 8544*ShipmentAmount_Port_of_Newcastle_Mina_Salman + 9885*ShipmentAmount_Port_of_Newcastle_Port_of_Haifa + 5139*ShipmentAmount_Port_of_Novorossiysk_Mina_Salman + 1715*ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa + 4957*ShipmentAmount_Port_of_Odessa_Mina_Salman + 1533*ShipmentAmount_Port_of_Odessa_Port_of_Haifa + 7284*ShipmentAmount_Port_of_Rotterdam_Mina_Salman + 3894*ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa + 4964*ShipmentAmount_Port_of_Saigon_Mina_Salman + 6418*ShipmentAmount_Port_of_Saigon_Port_of_Haifa + 1253*ShipmentAmount_Port_of_Salalah_Mina_Salman + 2367*ShipmentAmount_Port_of_Salalah_Port_of_Haifa + 9662*ShipmentAmount_Port_of_Santos_Mina_Salman + 7667*ShipmentAmount_Port_of_Santos_Port_of_Haifa + 6882*ShipmentAmount_Port_of_Shanghai_Mina_Salman + 8336*ShipmentAmount_Port_of_Shanghai_Port_of_Haifa + 8787*ShipmentAmount_Port_of_St._Petersburg_Mina_Salman + 5398*ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa + 4660*ShipmentAmount_Port_of_Tanjung_Priok_Mina_Salman + 6000*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Haifa + 15871*ShipmentAmount_Port_of_Vancouver_Mina_Salman + 12461*ShipmentAmount_Port_of_Vancouver_Port_of_Haifa + 5729*ShipmentAmount_Port_of_Vienna_Mina_Salman + 2306*ShipmentAmount_Port_of_Vienna_Port_of_Haifa + 7981*ShipmentAmount_Port_of_Vladivostok_Mina_Salman + 9435*ShipmentAmount_Port_of_Vladivostok_Port_of_Haifa + 0\n",
       "SUBJECT TO\n",
       "_C1: ShipmentAmount_Port_of_Alexandria_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Algeciras_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Antwerp_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Aqaba_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Bangkok_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Bratislava_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Budapest_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Busan_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Casablanca_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Doha_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Durban_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Gdansk_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Gothenburg_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Haifa_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Hedland_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Immingham_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Jeddah_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Kaohsiung_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Karachi_Mina_Salman\n",
       " + ShipmentAmount_Port_of_King_Abdul_Aziz_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Latakia_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Manzanillo_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Marseille_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Mersin_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Montreal_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Nagoya_Mina_Salman\n",
       " + ShipmentAmount_Port_of_New_York_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Newcastle_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Odessa_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Rotterdam_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Saigon_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Salalah_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Santos_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Shanghai_Mina_Salman\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Vancouver_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Vienna_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Vladivostok_Mina_Salman >= 192529672.9\n",
       "\n",
       "_C2: ShipmentAmount_Port_of_Alexandria_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Antwerp_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Aqaba_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Bangkok_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Bratislava_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Busan_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Casablanca_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Doha_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Durban_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Gothenburg_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Haifa_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Hedland_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Jeddah_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Kaohsiung_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Karachi_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Latakia_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Montreal_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Newcastle_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Odessa_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Saigon_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Salalah_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Santos_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Vancouver_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Vienna_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Haifa >= 167434730.9\n",
       "\n",
       "_C3: ShipmentAmount_Port_of_Buenos_Aires_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Port_of_Haifa = 866877.0693\n",
       "\n",
       "_C4: ShipmentAmount_Port_of_Newcastle_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Newcastle_Port_of_Haifa = 173144.9288\n",
       "\n",
       "_C5: ShipmentAmount_Port_of_Hedland_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Hedland_Port_of_Haifa = 821572.1032\n",
       "\n",
       "_C6: ShipmentAmount_Port_of_Vienna_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Vienna_Port_of_Haifa = 1773459.805\n",
       "\n",
       "_C7: ShipmentAmount_Port_of_Antwerp_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Antwerp_Port_of_Haifa = 459052.6648\n",
       "\n",
       "_C8: ShipmentAmount_Port_of_Santos_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Santos_Port_of_Haifa = 5883513.708\n",
       "\n",
       "_C9: ShipmentAmount_Port_of_Montreal_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Montreal_Port_of_Haifa = 524041.6326\n",
       "\n",
       "_C10: ShipmentAmount_Port_of_Vancouver_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Vancouver_Port_of_Haifa = 1760443.821\n",
       "\n",
       "_C11: ShipmentAmount_Port_of_Shanghai_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Haifa = 174549236.3\n",
       "\n",
       "_C12: ShipmentAmount_Port_of_Hamburg_Czeck_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa = 679520.2497\n",
       "\n",
       "_C13: ShipmentAmount_Port_of_Alexandria_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Alexandria_Port_of_Haifa = 2083553.909\n",
       "\n",
       "_C14: ShipmentAmount_Port_of_Marseille_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Haifa = 1090975.226\n",
       "\n",
       "_C15: ShipmentAmount_Port_of_Hamburg_Germany_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa = 7439233.572\n",
       "\n",
       "_C16: ShipmentAmount_Port_of_Budapest_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Haifa = 33423.521\n",
       "\n",
       "_C17: ShipmentAmount_Port_of_Jawaharlal_Nehru_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Haifa = 36697735.91\n",
       "\n",
       "_C18: ShipmentAmount_Port_of_Tanjung_Priok_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Haifa = 1158608.705\n",
       "\n",
       "_C19: ShipmentAmount_Port_of_Bandar_Abbas_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Haifa = 12288124.19\n",
       "\n",
       "_C20: ShipmentAmount_Port_of_Haifa_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Haifa_Port_of_Haifa = 55964.6881\n",
       "\n",
       "_C21: ShipmentAmount_Port_of_Gioia_Tauro_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa = 4143159.023\n",
       "\n",
       "_C22: ShipmentAmount_Port_of_Nagoya_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Haifa = 16087392.42\n",
       "\n",
       "_C23: ShipmentAmount_Port_of_Aqaba_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Aqaba_Port_of_Haifa = 26211.20016\n",
       "\n",
       "_C24: ShipmentAmount_Port_of_Busan_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Busan_Port_of_Haifa = 12220325.9\n",
       "\n",
       "_C25: ShipmentAmount_Port_of_Manzanillo_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa = 3391773.351\n",
       "\n",
       "_C26: ShipmentAmount_Port_of_Casablanca_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Casablanca_Port_of_Haifa = 94405.71585\n",
       "\n",
       "_C27: ShipmentAmount_Port_of_Rotterdam_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa = 1188401.541\n",
       "\n",
       "_C28: ShipmentAmount_Port_of_Salalah_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Salalah_Port_of_Haifa = 345449.5083\n",
       "\n",
       "_C29: ShipmentAmount_Port_of_Karachi_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Karachi_Port_of_Haifa = 581771.9193\n",
       "\n",
       "_C30: ShipmentAmount_Port_of_Gdansk_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Haifa = 1617356.557\n",
       "\n",
       "_C31: ShipmentAmount_Port_of_Doha_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Doha_Port_of_Haifa = 857772.4871\n",
       "\n",
       "_C32: ShipmentAmount_Port_of_Vladivostok_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Haifa = 7688763.821\n",
       "\n",
       "_C33: ShipmentAmount_Port_of_Novorossiysk_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa = 3750207.916\n",
       "\n",
       "_C34: ShipmentAmount_Port_of_St._Petersburg_Mina_Salman\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa = 3793349.172\n",
       "\n",
       "_C35: ShipmentAmount_Port_of_King_Abdul_Aziz_Mina_Salman\n",
       " + ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Haifa = 587030.7966\n",
       "\n",
       "_C36: ShipmentAmount_Port_of_Jeddah_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Jeddah_Port_of_Haifa = 330012.7357\n",
       "\n",
       "_C37: ShipmentAmount_Port_of_Bratislava_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Bratislava_Port_of_Haifa = 828258.7044\n",
       "\n",
       "_C38: ShipmentAmount_Port_of_Durban_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Durban_Port_of_Haifa = 1062704.488\n",
       "\n",
       "_C39: ShipmentAmount_Port_of_Algeciras_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Haifa = 2506427.832\n",
       "\n",
       "_C40: ShipmentAmount_Port_of_Gothenburg_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Gothenburg_Port_of_Haifa = 1020455.739\n",
       "\n",
       "_C41: ShipmentAmount_Port_of_Latakia_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Latakia_Port_of_Haifa = 6807.982054\n",
       "\n",
       "_C42: ShipmentAmount_Port_of_Kaohsiung_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Kaohsiung_Port_of_Haifa = 3982299.048\n",
       "\n",
       "_C43: ShipmentAmount_Port_of_Bangkok_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Bangkok_Port_of_Haifa = 742013.6356\n",
       "\n",
       "_C44: ShipmentAmount_Port_of_Mersin_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Haifa = 5765276.992\n",
       "\n",
       "_C45: ShipmentAmount_Port_of_Odessa_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Odessa_Port_of_Haifa = 81761.53917\n",
       "\n",
       "_C46: ShipmentAmount_Port_of_Jebel_Ali_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Port_of_Haifa = 715075.2826\n",
       "\n",
       "_C47: ShipmentAmount_Port_of_Immingham_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Haifa = 1240430.535\n",
       "\n",
       "_C48: ShipmentAmount_Port_of_New_York_Mina_Salman\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Haifa = 9068509.538\n",
       "\n",
       "_C49: ShipmentAmount_Port_of_Los_Angeles_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa = 6320971.137\n",
       "\n",
       "_C50: ShipmentAmount_Port_of_Saigon_Mina_Salman\n",
       " + ShipmentAmount_Port_of_Saigon_Port_of_Haifa = 21581546.32\n",
       "\n",
       "VARIABLES\n",
       "ShipmentAmount_Port_of_Alexandria_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Aqaba_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Aqaba_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Busan_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Casablanca_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Casablanca_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Doha_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Durban_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Haifa_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Haifa_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Jeddah_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Jeddah_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Kaohsiung_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Kaohsiung_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Karachi_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Karachi_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_King_Abdul_Aziz_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Latakia_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Latakia_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_New_York_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Santos_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Mina_Salman Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Haifa Continuous"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Constraints\n",
    "for i in supply_points:\n",
    "    prob += sum(X[i][j] for j in demand_points) == HSS_supply[i]\n",
    "prob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Status: Optimal\n",
      "ShipmentAmount_Port_of_Alexandria_Port_of_Haifa = 2083553.9\n",
      "ShipmentAmount_Port_of_Algeciras_Port_of_Haifa = 2506427.8\n",
      "ShipmentAmount_Port_of_Antwerp_Port_of_Haifa = 459052.66\n",
      "ShipmentAmount_Port_of_Aqaba_Port_of_Haifa = 26211.2\n",
      "ShipmentAmount_Port_of_Bandar_Abbas_Mina_Salman = 12288124.0\n",
      "ShipmentAmount_Port_of_Bangkok_Port_of_Haifa = 742013.64\n",
      "ShipmentAmount_Port_of_Bratislava_Port_of_Haifa = 828258.7\n",
      "ShipmentAmount_Port_of_Budapest_Port_of_Haifa = 33423.521\n",
      "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Haifa = 866877.07\n",
      "ShipmentAmount_Port_of_Busan_Port_of_Haifa = 12220326.0\n",
      "ShipmentAmount_Port_of_Casablanca_Port_of_Haifa = 94405.716\n",
      "ShipmentAmount_Port_of_Doha_Mina_Salman = 857772.49\n",
      "ShipmentAmount_Port_of_Durban_Port_of_Haifa = 1062704.5\n",
      "ShipmentAmount_Port_of_Gdansk_Port_of_Haifa = 1617356.6\n",
      "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa = 4143159.0\n",
      "ShipmentAmount_Port_of_Gothenburg_Port_of_Haifa = 1020455.7\n",
      "ShipmentAmount_Port_of_Haifa_Port_of_Haifa = 55964.688\n",
      "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa = 679520.25\n",
      "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa = 7439233.6\n",
      "ShipmentAmount_Port_of_Hedland_Port_of_Haifa = 821572.1\n",
      "ShipmentAmount_Port_of_Immingham_Port_of_Haifa = 1240430.5\n",
      "ShipmentAmount_Port_of_Jawaharlal_Nehru_Mina_Salman = 36697736.0\n",
      "ShipmentAmount_Port_of_Jebel_Ali_Mina_Salman = 715075.28\n",
      "ShipmentAmount_Port_of_Jeddah_Port_of_Haifa = 330012.74\n",
      "ShipmentAmount_Port_of_Kaohsiung_Port_of_Haifa = 3982299.0\n",
      "ShipmentAmount_Port_of_Karachi_Mina_Salman = 581771.92\n",
      "ShipmentAmount_Port_of_King_Abdul_Aziz_Mina_Salman = 587030.8\n",
      "ShipmentAmount_Port_of_Latakia_Port_of_Haifa = 6807.9821\n",
      "ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa = 6320971.1\n",
      "ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa = 3391773.4\n",
      "ShipmentAmount_Port_of_Marseille_Port_of_Haifa = 1090975.2\n",
      "ShipmentAmount_Port_of_Mersin_Port_of_Haifa = 5765277.0\n",
      "ShipmentAmount_Port_of_Montreal_Port_of_Haifa = 524041.63\n",
      "ShipmentAmount_Port_of_Nagoya_Mina_Salman = 16087392.0\n",
      "ShipmentAmount_Port_of_New_York_Port_of_Haifa = 9068509.5\n",
      "ShipmentAmount_Port_of_Newcastle_Port_of_Haifa = 173144.93\n",
      "ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa = 3750207.9\n",
      "ShipmentAmount_Port_of_Odessa_Port_of_Haifa = 81761.539\n",
      "ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa = 1188401.5\n",
      "ShipmentAmount_Port_of_Saigon_Port_of_Haifa = 21581546.0\n",
      "ShipmentAmount_Port_of_Salalah_Port_of_Haifa = 345449.51\n",
      "ShipmentAmount_Port_of_Santos_Port_of_Haifa = 5883513.7\n",
      "ShipmentAmount_Port_of_Shanghai_Mina_Salman = 117026010.0\n",
      "ShipmentAmount_Port_of_Shanghai_Port_of_Haifa = 57523229.0\n",
      "ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa = 3793349.2\n",
      "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Haifa = 1158608.7\n",
      "ShipmentAmount_Port_of_Vancouver_Port_of_Haifa = 1760443.8\n",
      "ShipmentAmount_Port_of_Vienna_Port_of_Haifa = 1773459.8\n",
      "ShipmentAmount_Port_of_Vladivostok_Mina_Salman = 7688763.8\n",
      "Total kilogram_miles = 2177731493715.0654\n"
     ]
    }
   ],
   "source": [
    "prob.solve()\n",
    "\n",
    "print(\"Status:\", LpStatus[prob.status])\n",
    "\n",
    "for v in prob.variables():\n",
    "    if v.varValue > 0:\n",
    "        print(v.name, \"=\", v.varValue)\n",
    "\n",
    "print(\"Total kilogram_miles =\", value(prob.objective))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
